// 文件读取和写入
const fs = require('fs')
// 模板列表文件,用于查询当前脚手架有什么模板的项目
const templates = require('./templates')
function question(projectName) {
  return [
    {
      type: 'input',
      name: 'name',
      message: '请输入项目名称',
      default: projectName,
      validate: function (val) {
        if (!val) {
          return '请输入项目的名称'
        }
        if (fs.existsSync(val)) {
          return '当前目录已存在同名的项目，请更换项目名'
        }
        return true
      },
    },
    {
      type: 'input',
      name: 'description',
      message: '请输入项目简介',
    },
    {
      type: 'input',
      name: 'author',
      message: '请输入作者名称',
    },
    {
      name: 'template',
      type: 'list',
      message: '🔜 请选择一个框架?',
      choices: templates.map((item, index) => ({
        key: index,
        name: item.description,
        value: item.downloadUrl,
      })),
      filter: function (val) {
        return val.toLowerCase()
      },
    },
  ]
}

module.exports = question
